package com.tbit.uqbike.client.dao.core;


import com.tbit.uqbike.client.pojo.ParkMachine;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 停车点车辆关系
 *
 * @author Leon
 * 2017年2月24日 下午4:02:36
 */
public interface ParkMachineDao {

    /**
     * 添加
     *
     */
    void insert(ParkMachine parkMachine);


    /**
     * 根据设备id删除
     *
     */
    void del(Integer machineId);

    /**
     * 根据停车点id查询
     *
     * @return
     */
    List<ParkMachine> getByParkPointId(Integer parkPointId);

    /**
     * 根据设备id查询
     *
     * @return
     */
    ParkMachine getByMachineId(Integer machineId);

    /**
     * 根据设备id查询
     *
     * @return
     */
    List<ParkMachine> getByMachineNOs(Map<String, Object> params);

    /**
     * 获取停车点可用车辆
     *
     * @param params
     * @return
     */
    Integer getParkPointCanBorrowNum(Map<String, Object> params);
    /**
     * 获取停车点可用车辆 Map<站点,可用车辆数量>
     *
     * @param parkPoints
     * @return
     */
    List<Map<String,Object>> getParkPointCanBorrowNums(@Param("list") List<Integer> parkPoints);

    /**
     * 获取站点当前车辆数
     *
     * @param parkPointId
     * @return
     */
    Integer getParkPointCount(Integer parkPointId);

    /**
     * 更新
     *
     * @param parkMachine
     */
    void edit(ParkMachine parkMachine);


}
